/**
 *                            License
 * THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS  
 * CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). 
 * THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW.  
 * ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR  
 * COPYRIGHT LAW IS PROHIBITED.
 * 
 * BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND  
 * AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE  
 * MAY BE CONSIDERED TO BE A CONTRACT,
 * THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED 
 * HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
 * 
 */
package com.lineage.server.templates;

import java.io.Serializable;

/**
 * Class <code>L1Item</code> 数据库模板:道具(武器、防具、物品共通).
 * 
 * @author jrwz
 * @version 2012-6-16下午12:00:45
 * @see com.lineage.server.templates
 * @since JDK1.7
 */
public class L1Item implements Cloneable, Serializable {

    /** 序列编号UID. */
    private static final long serialVersionUID = 1L;

    /** 道具类型2. */
    private int type2;
    /** 道具的 ClassName. */
    private String className;
    /** 道具ＩＤ. */
    private int itemId;
    /** 道具的名称. */
    private String name;
    /** 道具的名称ID. */
    private String nameId;
    /** 道具的名称ＩＤ(未鉴定). */
    private String unidentifiedNameId;
    /** 道具的名称ＩＤ(已鉴定). */
    private String identifiedNameId;
    /** 道具的详细类型. */
    private int type;
    /** 道具的类型1 (武器). */
    private int type1;
    /** 道具的材质. */
    private int material;
    /** 重量. */
    private int weight;
    /** 清单内的图形ＩＤ. */
    private int gfxId;
    /** 道具放到地面上的图形ＩＤ. */
    private int groundGfxId;
    /** 道具的ItemDesc.tbl信息. */
    private int itemDescId;
    /** 能使用装备的最低ＬＶ. */
    private int minLevel;
    /** 能使用装备的最高ＬＶ. */
    private int maxLevel;
    /** 取得属性. */
    private int bless;
    /** 是否可交易. */
    private boolean isTradable;
    /** 是否删除. */
    private boolean isCantDelete;
    /** 是否将道具的数量变化写入数据库. */
    private boolean saveAtOnce;
    /** 最低伤害. */
    private int dmgSmall = 0;
    /** 最高伤害. */
    private int dmgLarge = 0;
    /** 安定值. */
    private int safeEnchant = 0;
    /** 是否为王族可用装备. */
    private boolean isUseRoyal = false;
    /** 是否为骑士可用装备. */
    private boolean isUseKnight = false;
    /** 是否为精灵可用装备. */
    private boolean isUseElf = false;
    /** 是否为法师可用装备. */
    private boolean isUseMage = false;
    /** 是否为黑暗妖精可用装备. */
    private boolean isUseDarkelf = false;
    /** 是否为龙骑士可用装备. */
    private boolean isUseDragonknight = false;
    /** 是否为幻术师可用装备. */
    private boolean isUseIllusionist = false;
    /** 增加ＳＴＲ. */
    private byte addStr = 0;
    /** 增加ＤＥＸ. */
    private byte addDex = 0;
    /** 增加ＣＯＮ. */
    private byte addCon = 0;
    /** 增加ＩＮＴ. */
    private byte addInt = 0;
    /** 增加ＷＩＳ. */
    private byte addWis = 0;
    /** 增加ＣＨＡ. */
    private byte addCha = 0;
    /** 增加ＨＰ. */
    private int addHp = 0;
    /** 增加ＭＰ. */
    private int addMp = 0;
    /** 增加ＨＰＲ. */
    private int addHpr = 0;
    /** 增加ＭＰＲ. */
    private int addMpr = 0;
    /** 增加ＳＰ. */
    private int addSp = 0;
    /** 抗魔(MR). */
    private int mdef = 0;
    /** 是否具有加速效果. */
    private boolean isHasteItem = false;
    /** 道具可使用时间(能持有的时间). */
    private int maxUseTime = 0;
    /** 道具使用类型. */
    private int useType;
    /** 食品类道具饱食度. */
    private int foodVolume;

    /** 变身编号:装备武器. */
    private int polyIdByWeapon;

    /** 数据库模板:道具(武器、防具、物品共通). */
    public L1Item() {
    }

    @Override
    public final Object clone() {
        try {
            return super.clone();
        } catch (final CloneNotSupportedException e) {
            // throw (new InternalError(e.getMessage()));
            return null;
        }
    }

    /**
     * 取得物理防御.
     * 
     * @return 值(被L1Armor覆盖)
     */
    public int getAc() {
        return 0;
    }

    /**
     * 取得增加ＣＨＡ.
     * 
     * @return 增加的ＣＨＡ
     */
    public final byte getAddCha() {
        return this.addCha;
    }

    /**
     * 取得增加ＣＯＮ.
     * 
     * @return 增加的ＣＯＮ
     */
    public final byte getAddCon() {
        return this.addCon;
    }

    /**
     * 取得增加ＤＥＸ.
     * 
     * @return 增加的ＤＥＸ
     */
    public final byte getAddDex() {
        return this.addDex;
    }

    /**
     * 取得增加ＨＰ.
     * 
     * @return 增加的ＨＰ
     */
    public final int getAddHp() {
        return this.addHp;
    }

    /**
     * 取得增加ＨＰＲ.
     * 
     * @return 增加的ＨＰＲ
     */
    public final int getAddHpr() {
        return this.addHpr;
    }

    /**
     * 取得增加ＩＮＴ.
     * 
     * @return 增加的ＩＮＴ
     */
    public final byte getAddInt() {
        return this.addInt;
    }

    /**
     * 取得增加ＭＰ.
     * 
     * @return 增加的ＭＰ
     */
    public final int getAddMp() {
        return this.addMp;
    }

    /**
     * 取得增加ＭＰＲ.
     * 
     * @return 增加的ＭＰＲ
     */
    public final int getAddMpr() {
        return this.addMpr;
    }

    /**
     * 取得增加ＳＰ.
     * 
     * @return 增加的ＳＰ
     */
    public final int getAddSp() {
        return this.addSp;
    }

    /**
     * 取得增加ＳＴＲ.
     * 
     * @return 增加的ＳＴＲ
     */
    public final byte getAddStr() {
        return this.addStr;
    }

    /**
     * 取得增加ＷＩＳ.
     * 
     * @return 增加的ＷＩＳ
     */
    public final byte getAddWis() {
        return this.addWis;
    }

    /**
     * 取得属性.
     * 
     * @return 0:祝福 1:一般 2:诅咒
     */
    public final int getBless() {
        return this.bless;
    }

    /**
     * 取得弓类装备的伤害修正.
     * 
     * @return 值 (会被L1Armor覆盖)
     */
    public int getBowDmgModifierByArmor() {
        return 0;
    }

    /**
     * 取得弓类装备的命中修正.
     * 
     * @return 值 (会被L1Armor覆盖)
     */
    public int getBowHitModifierByArmor() {
        return 0;
    }

    /**
     * 取得有无损伤.
     * 
     * @return 值(被L1Weapon覆盖)
     */
    public int getCanbedmg() {
        return 0;
    }

    /**
     * 取得道具的 ClassName.
     * 
     * @return ClassName
     */
    public final String getClassName() {
        return this.className;
    }

    /**
     * 取得伤害减免.
     * 
     * @return 值 (会被L1Armor覆盖)
     */
    public int getDamageReduction() {
        return 0;
    }

    /**
     * 取得地属性防御.
     * 
     * @return 值(被L1Armor覆盖)
     */
    public int getDefenseEarth() {
        return 0;
    }

    /**
     * 取得火属性防御.
     * 
     * @return 值(被L1Armor覆盖)
     */
    public int getDefenseFire() {
        return 0;
    }

    /**
     * 取得水属性防御.
     * 
     * @return 值(被L1Armor覆盖)
     */
    public int getDefenseWater() {
        return 0;
    }

    /**
     * 取得风属性防御.
     * 
     * @return 值(被L1Armor覆盖)
     */
    public int getDefenseWind() {
        return 0;
    }

    /**
     * 取得延迟编号.
     * 
     * @return 值 (会被L1EtcItem覆盖)
     */
    public int getDelayId() {
        return 0;
    }

    /**
     * 取得延迟时间.
     * 
     * @return 值 (会被L1EtcItem覆盖)
     */
    public int getDelayTime() {
        return 0;
    }

    /**
     * 取得最高伤害.
     * 
     * @return 最高伤害
     */
    public final int getDmgLarge() {
        return this.dmgLarge;
    }

    /**
     * 取得伤害修正.
     * 
     * @return 值 (会被L1Weapon覆盖)
     */
    public int getDmgModifier() {
        return 0;
    }

    /**
     * 取得装备的伤害修正.
     * 
     * @return 值 (会被L1Armor覆盖)
     */
    public int getDmgModifierByArmor() {
        return 0;
    }

    /**
     * 取得最低伤害.
     * 
     * @return 最低伤害
     */
    public final int getDmgSmall() {
        return this.dmgSmall;
    }

    /**
     * 取得双倍伤害发动几率.
     * 
     * @return 值 (会被L1Weapon覆盖)
     */
    public int getDoubleDmgChance() {
        return 0;
    }

    /**
     * 取得经验值加成.
     * 
     * @return 值 (会被L1Armor覆盖)
     */
    public double getExpBonus() {
        return 0;
    }

    /**
     * 取得食品类道具饱食度.
     * 
     * @return 饱食度
     */
    public final int getFoodVolume() {
        return this.foodVolume;
    }

    /**
     * 取得动画效果(一般防具).
     * 
     * @return 值 (会被L1Armor覆盖)
     */
    public int getGfxEffect() {
        return 0;
    }

    /**
     * 取得动画效果时间(单位:秒).
     * 
     * @return 值 (会被L1Armor覆盖)
     */
    public int getGfxEffectTime() {
        return 0;
    }

    /**
     * 取得清单内的图形ＩＤ.
     * 
     * @return 图形ＩＤ
     */
    public final int getGfxId() {
        return this.gfxId;
    }

    /**
     * 取得饰品强化等级.
     * 
     * @return 值 (会被L1Armor覆盖)
     */
    public int getGrade() {
        return 0;
    }

    /**
     * 取得道具放到地面上的图形ＩＤ.
     * 
     * @return 地面上的图形ＩＤ
     */
    public final int getGroundGfxId() {
        return this.groundGfxId;
    }

    /**
     * 取得命中率修正.
     * 
     * @return 值 (会被L1Weapon覆盖)
     */
    public int getHitModifier() {
        return 0;
    }

    /**
     * 取得装备的命中修正.
     * 
     * @return 值 (会被L1Armor覆盖)
     */
    public int getHitModifierByArmor() {
        return 0;
    }

    /**
     * 取得鉴定道具的名称ＩＤ.
     * 
     * @return 道具的名称ＩＤ
     */
    public final String getIdentifiedNameId() {
        return this.identifiedNameId;
    }

    /**
     * 取得道具被鉴定时显示的信息(ItemDesc.tbl).
     * 
     * @return 鉴定信息
     */
    public final int getItemDescId() {
        return this.itemDescId;
    }

    /**
     * 取得道具ＩＤ.
     * 
     * @return 道具ＩＤ
     */
    public final int getItemId() {
        return this.itemId;
    }

    /**
     * 取得照明类道具的燃料量.
     * 
     * @return 燃料量
     */
    public final int getLightFuel() {
        if (this.itemId == 40001) { // 灯
            return 6000;
        } else if (this.itemId == 40002) { // 灯笼
            return 12000;
        } else if (this.itemId == 40003) { // 灯油
            return 12000;
        } else if (this.itemId == 40004) { // 魔法灯笼
            return 0;
        } else if (this.itemId == 40005) { // 蜡烛
            return 600;
        } else {
            return 0;
        }
    }

    /**
     * 取得照明类道具的亮度设置.
     * 
     * @return 亮度
     */
    public final int getLightRange() {
        if (this.itemId == 40001) { // 灯
            return 11;
        } else if (this.itemId == 40002) { // 灯笼
            return 14;
        } else if (this.itemId == 40004) { // 魔法灯笼
            return 14;
        } else if (this.itemId == 40005) { // 蜡烛
            return 8;
        } else {
            return 0;
        }
    }

    /**
     * 取得X坐标.
     * 
     * @return 值 (会被L1EtcItem覆盖)
     */
    public int getLocX() {
        return 0;
    }

    /**
     * 取得Y坐标.
     * 
     * @return 值 (会被L1EtcItem覆盖)
     */
    public int getLocY() {
        return 0;
    }

    /**
     * 取得幸运值.
     * 
     * @return (会被L1Armor覆盖)
     */
    public int getLuck() {
        return 0;
    }

    /**
     * 取得魔法攻击的伤害修正.
     * 
     * @return 值 (会被L1Weapon覆盖)
     */
    public int getMagicDmgModifier() {
        return 0;
    }

    /**
     * 取得地图ID.
     * 
     * @return 值 (会被L1EtcItem覆盖)
     */
    public int getMapId() {
        return 0;
    }

    /**
     * 取得道具的材质.<br>
     * 
     * @return <p>
     *         <font color=#ff0000>道具的材质<br>
     *         0 none: <font color=#00800>无<br>
     *         1 liquid: <font color=#00800>液体<br>
     *         2 web: <font color=#00800>蜡<br>
     *         3 vegetation: <font color=#00800>植物性<br>
     *         4 animalmatter: <font color=#00800>动物性<br>
     *         5 paper: <font color=#00800>纸<br>
     *         6 cloth: <font color=#00800>布<br>
     *         7 leather: <font color=#00800>皮<br>
     *         8 wood: <font color=#00800>木<br>
     *         9 bone: <font color=#00800>骨头<br>
     *         10 dragonscale: <font color=#00800>龙鳞<br>
     *         11 iron: <font color=#00800>铁<br>
     *         12 steel: <font color=#00800>金属<br>
     *         13 copper: <font color=#00800>铜<br>
     *         14 silver: <font color=#00800>银<br>
     *         15 gold: <font color=#00800>金<br>
     *         16 platinum: <font color=#00800>白金<br>
     *         17 mithril: <font color=#00800>米索莉<br>
     *         18 blackmithril: <font color=#00800>黑色米索莉<br>
     *         19 glass: <font color=#00800>玻璃<br>
     *         20 gemstone: <font color=#00800>宝石<br>
     *         21 mineral: <font color=#00800>矿石<br>
     *         22 oriharukon: <font color=#00800>奥里哈鲁根<br>
     *         </p>
     */
    public final int getMaterial() {
        return this.material;
    }

    /**
     * 取得最大可用次数.
     * 
     * @return 值(会被L1EtcItem覆盖)
     */
    public int getMaxChargeCount() {
        return 0;
    }

    /**
     * 取得能使用装备的最高ＬＶ.
     * 
     * @return 最高ＬＶ
     */
    public final int getMaxLevel() {
        return this.maxLevel;
    }

    /**
     * 取得物品可使用时间(能持有的时间).
     * 
     * @return 能持有的时间
     */
    public final int getMaxUseTime() {
        return this.maxUseTime;
    }

    /**
     * 取得抗魔(MR).
     * 
     * @return 抗魔(MR)
     */
    public final int getMdef() {
        return this.mdef;
    }

    /**
     * 取得能使用装备的最低ＬＶ.
     * 
     * @return 最低ＬＶ
     */
    public final int getMinLevel() {
        return this.minLevel;
    }

    /**
     * 取得道具名称.
     * 
     * @return 道具名称
     */
    public final String getName() {
        return this.name;
    }

    /**
     * 取得道具名称ID.
     * 
     * @return 道具名称ID
     */
    public final String getNameId() {
        return this.nameId;
    }

    /**
     * 取得获得的道具编号(一般防具).
     * 
     * @return 值 (会被L1Armor覆盖)
     */
    public int getObtainProps() {
        return 0;
    }

    /**
     * 取得获得特定道具的时间(单位:秒).
     * 
     * @return 值 (会被L1Armor覆盖)
     */
    public int getObtainPropsTime() {
        return 0;
    }

    /**
     * 取得变身编号(防具).
     * 
     * @return 值(会被L1Armor覆盖)
     */
    public int getPolyId() {
        return 0;
    }

    /**
     * 取得变身编号:装备武器.
     * 
     * @return 变身编号
     */
    public int getPolyIdByWeapon() {
        return this.polyIdByWeapon;
    }

    /**
     * 取得武器的射程范围.
     * 
     * @return 值(会被L1Weapon覆盖)
     */
    public int getRange() {
        return 0;
    }

    /**
     * 取得暗闇耐性.
     * 
     * @return 值 (会被L1Armor覆盖)
     */
    public int getRegistBlind() {
        return 0;
    }

    /**
     * 取得寒冰耐性.
     * 
     * @return 值 (会被L1Armor覆盖)
     */
    public int getRegistFreeze() {
        return 0;
    }

    /**
     * 取得睡眠耐性.
     * 
     * @return 值 (会被L1Armor覆盖)
     */
    public int getRegistSleep() {
        return 0;
    }

    /**
     * 取得石化耐性.
     * 
     * @return 值 (会被L1Armor覆盖)
     */
    public int getRegistStone() {
        return 0;
    }

    /**
     * 取得昏迷耐性.
     * 
     * @return 值 (会被L1Armor覆盖)
     */
    public int getRegistStun() {
        return 0;
    }

    /**
     * 取得支撑耐性.
     * 
     * @return 值 (会被L1Armor覆盖)
     */
    public int getRegistSustain() {
        return 0;
    }

    /**
     * 取得安定值.
     * 
     * @return 安定值
     */
    public final int getSafeenchant() {
        return this.safeEnchant;
    }

    /**
     * 取得道具的种类(共通).<br>
     * 
     * @return <p>
     *         <font color=#ff0000>[etcitem]-道具类型<br>
     *         0:arrow <font color=#00800>箭<br>
     *         1:wand <font color=#00800>魔杖<br>
     *         2:light <font color=#00800>光线 (灯)<br>
     *         3:gem <font color=#00800>宝物 (金币)<br>
     *         4:totem <font color=#00800>图腾<br>
     *         5:firecracker <font color=#00800>烟火<br>
     *         6:potion <font color=#00800>货币 (名誉货币)<br>
     *         7:food <font color=#00800>肉<br>
     *         8:scroll <font color=#00800>卷轴<br>
     *         9:questitem <font color=#00800>任务物品<br>
     *         10:spellbook <font color=#00800>魔法书<br>
     *         11:petitem <font color=#00800>宠物装备<br>
     *         12:other <font color=#00800>其他<br>
     *         13:material <font color=#00800>材料<br>
     *         14:event <font color=#00800>活动物品<br>
     *         15:sting <font color=#00800>飞刀<br>
     *         </p>
     *         <p>
     *         <font color=#ff0000>[weapon]-武器类型<br>
     *         1: sword <font color=#00800>剑(单手)<br>
     *         2: dagger <font color=#00800>匕首(单手)<br>
     *         3: tohandsword <font color=#00800>双手剑(双手)<br>
     *         4: bow <font color=#00800>弓(双手)<br>
     *         5: spear <font color=#00800>矛(双手)<br>
     *         6: blunt <font color=#00800>斧(单手)<br>
     *         7: staff <font color=#00800>魔杖(单手)<br>
     *         8: throwingknife <font color=#00800>飞刀<br>
     *         9: arrow <font color=#00800>箭<br>
     *         10: gauntlet <font color=#00800>铁手甲<br>
     *         11: claw <font color=#00800>钢爪(双手)<br>
     *         12: edoryu <font color=#00800>双刀(双手)<br>
     *         13: singlebow <font color=#00800>弓(单手)<br>
     *         14: singlespear <font color=#00800>矛(单手)<br>
     *         15: tohandblunt <font color=#00800>双手斧(双手)<br>
     *         16: tohandstaff <font color=#00800>魔杖(双手)<br>
     *         17: kiringku <font color=#00800>奇古兽(单手)<br>
     *         18: chainsword <font color=#00800>锁链剑(单手)<br>
     *         </p>
     *         <p>
     *         <font color=#ff0000>[armor]-防具类型<br>
     *         1: helm <font color=#00800>头盔<br>
     *         2: armor <font color=#00800>盔甲<br>
     *         3: T <font color=#00800>内衣<br>
     *         4: cloak <font color=#00800>斗篷<br>
     *         5: glove <font color=#00800>手套<br>
     *         6: boots <font color=#00800>靴子<br>
     *         7: shield <font color=#00800>盾<br>
     *         8: amulet <font color=#00800>项链<br>
     *         9: ring <font color=#00800>戒指<br>
     *         10: belt <font color=#00800>腰带<br>
     *         11: ring2 <font color=#00800>戒指2<br>
     *         12: earring <font color=#00800>耳环 <br>
     *         13: guarder <font color=#00800>臂甲<br>
     *         14: tattoo_r <font color=#00800>辅助装备 (右)<br>
     *         15: tattoo_l <font color=#00800>辅助装备 (左)<br>
     *         16: tattoo_m <font color=#00800>辅助装备 (中)<br>
     *         </p>
     */
    public final int getType() {
        return this.type;
    }

    /**
     * 取得道具的种类(武器).<br>
     * 
     * @return <p>
     *         <font color=#ff0000>[weapon]-武器类型<br>
     *         4 sword: <font color=#00800>长剑<br>
     *         46 dagger: <font color=#00800>匕首<br>
     *         50 tohandsword: <font color=#00800>双手剑<br>
     *         20 bow: <font color=#00800>弓<br>
     *         11 blunt: <font color=#00800>斧(单手)<br>
     *         24 spear: <font color=#00800>矛(双手)<br>
     *         40 staff: <font color=#00800>魔杖<br>
     *         2922 throwingknife: <font color=#00800>飞刀<br>
     *         66 arrow: <font color=#00800>箭<br>
     *         62 gauntlet: <font color=#00800>铁手甲<br>
     *         58 claw: <font color=#00800>钢爪<br>
     *         54 edoryu: <font color=#00800>双刀<br>
     *         20 singlebow: <font color=#00800>弓(单手)<br>
     *         24 singlespear: <font color=#00800>矛(单手)<br>
     *         11 tohandblunt: <font color=#00800>双手斧<br>
     *         40 tohandstaff: <font color=#00800>魔杖(双手)<br>
     *         58 kiringku: <font color=#00800>奇古兽<br>
     *         24 chainsword: <font color=#00800>锁链剑<br>
     *         </p>
     */
    public final int getType1() {
        return this.type1;
    }

    /**
     * 取得道具的类型.
     * 
     * @return 0 if L1EtcItem, 1 if L1Weapon, 2 if L1Armor
     */
    public final int getType2() {
        return this.type2;
    }

    /**
     * 取得未鉴定道具的名称ＩＤ.
     * 
     * @return 名称ＩＤ
     */
    public final String getUnidentifiedNameId() {
        return this.unidentifiedNameId;
    }

    /**
     * 取得物品使用类型(共通).
     * 
     * @return <p>
     *         -15 polyItem: <font color=#00800>直接变身类<br>
     *         -14 treasure_box: <font color=#00800>宝箱类<br>
     *         -13 arrow: <font color=#00800>箭<br>
     *         -12 sting: <font color=#00800>飞刀<br>
     *         -11 magic_stone_9: <font color=#00800>9阶附魔石<br>
     *         -10 magic_stone_1_4: <font color=#00800>1-4阶附魔石<br>
     *         -9 magic_stone_5_6: <font color=#00800>5-6阶附魔石<br>
     *         -8 magic_stone_7: <font color=#00800>7阶附魔石<br>
     *         -7 magic_stone_8: <font color=#00800>8阶附魔石<br>
     *         -6 cooking_books: <font color=#00800>料理书<br>
     *         -5 potion: <font color=#00800>药水类道具<br>
     *         -4 none: <font color=#00800>无法使用 (材料等)<br>
     *         -3 cooking: <font color=#00800>料理<br>
     *         -2 spellbook: <font color=#00800>技能书<br>
     *         -1 other: <font color=#00800>其他类道具<br>
     *         0 normal: <font color=#00800>一般物品<br>
     *         1 weapon: <font color=#00800>武器<br>
     *         2 armor: <font color=#00800>盔甲<br>
     *         5 spell_long: <font color=#00800>魔杖类型 (须选取目标/坐标)<br>
     *         6 ntele: <font color=#00800>瞬间移动卷轴<br>
     *         7 identify: <font color=#00800>鉴定卷轴<br>
     *         8 res: <font color=#00800>复活卷轴<br>
     *         12 letter: <font color=#00800>信纸<br>
     *         13 letter_card: <font color=#00800>信纸(寄出)<br>
     *         14 choice: <font color=#00800>请选择一个物品 (道具栏位)<br>
     *         15 instrument: <font color=#00800>哨子<br>
     *         16 sosc: <font color=#00800>变形卷轴<br>
     *         17 spell_short: <font color=#00800>选取目标 (近距离)<br>
     *         18 T: <font color=#00800>T恤<br>
     *         19 cloak: <font color=#00800>斗篷<br>
     *         20 glove: <font color=#00800>手套<br>
     *         21 boots: <font color=#00800>长靴<br>
     *         22 helm: <font color=#00800>头盔<br>
     *         23 ring: <font color=#00800>戒指<br>
     *         24 amulet: <font color=#00800>项链<br>
     *         25 shield: <font color=#00800>盾牌<br>
     *         25 guarder: <font color=#00800>臂甲<br>
     *         26 dai: <font color=#00800>对武器施法的卷轴<br>
     *         27 zel: <font color=#00800>对盔甲施法的卷轴<br>
     *         28 blank: <font color=#00800>空的魔法卷轴<br>
     *         29 btele: <font color=#00800>瞬间移动卷轴 (祝福)<br>
     *         30 spell_buff: <font color=#00800>选取目标 (对NPC需要Ctrl 远距离 无XY坐标传回)<br>
     *         31 ccard: <font color=#00800>圣诞卡片<br>
     *         32 ccard_w: <font color=#00800>圣诞卡片 (寄出)<br>
     *         33 vcard: <font color=#00800>情人节卡片<br>
     *         34 vcard_w: <font color=#00800>情人节卡片 (寄出)<br>
     *         35 wcard: <font color=#00800>白色情人节卡片<br>
     *         36 wcard_w: <font color=#00800>白色情人节卡片 (寄出)<br>
     *         37 belt: <font color=#00800>腰带<br>
     *         40 earring: <font color=#00800>耳环<br>
     *         42 fishing_rod: <font color=#00800>钓鱼杆<br>
     *         43 tattoo_r: <font color=#ff0000>辅助装备 (右)<br>
     *         44 tattoo_l: <font color=#ff0000>辅助装备 (左)<br>
     *         45 tattoo_m: <font color=#ff0000>辅助装备 (中)<br>
     *         46 del: <font color=#ff0000>饰品强化卷轴<br>
     *         </p>
     */
    public final int getUseType() {
        return this.useType;
    }

    /**
     * 取得重量.
     * 
     * @return 重量
     */
    public final int getWeight() {
        return this.weight;
    }

    /**
     * 取得负重减轻.
     * 
     * @return 值(会被L1Armor覆盖)
     */
    public int getWeightReduction() {
        return 0;
    }

    /**
     * 是否封印.
     * 
     * @return 值(会被L1EtcItem覆盖)
     */
    public boolean isCanSeal() {
        return false;
    }

    /**
     * 是否删除.
     * 
     * @return true:可以 false:不可以
     */
    public final boolean isCantDelete() {
        return this.isCantDelete;
    }

    /**
     * 是否具有加速效果.
     * 
     * @return 加速效果
     */
    public final boolean isHasteItem() {
        return this.isHasteItem;
    }

    /**
     * 是否可堆叠物品.
     * 
     * @return 值(会被L1EtcItem覆盖)
     */
    public boolean isStackable() {
        return false;
    }

    /**
     * 是否将道具的数量变化写入数据库.
     * 
     * @return 保存至数据库
     */
    public final boolean isToBeSavedAtOnce() {
        return this.saveAtOnce;
    }

    /**
     * 是否可以交易.
     * 
     * @return true:可以 false:不可以
     */
    public final boolean isTradable() {
        return this.isTradable;
    }

    /**
     * 是否双手武器.
     * 
     * @return 值(会被L1Weapon覆盖)
     */
    public boolean isTwohandedWeapon() {
        return false;
    }

    /**
     * 是否黑暗妖精可用装备.
     * 
     * @return 可用:true、不可用:false
     */
    public final boolean isUseDarkelf() {
        return this.isUseDarkelf;
    }

    /**
     * 是否龙骑士可用装备.
     * 
     * @return 可用:true、不可用:false
     */
    public final boolean isUseDragonknight() {
        return this.isUseDragonknight;
    }

    /**
     * 是否精灵可用装备.
     * 
     * @return 可用:true、不可用:false
     */
    public final boolean isUseElf() {
        return this.isUseElf;
    }

    /**
     * 是否幻术师可用装备.
     * 
     * @return 可用:true、不可用:false
     */
    public final boolean isUseIllusionist() {
        return this.isUseIllusionist;
    }

    /**
     * 是否骑士可用装备.
     * 
     * @return 可用:true、不可用:false
     */
    public final boolean isUseKnight() {
        return this.isUseKnight;
    }

    /**
     * 是否法师可用装备.
     * 
     * @return 可用:true、不可用:false
     */
    public final boolean isUseMage() {
        return this.isUseMage;
    }

    /**
     * 是否王族可用装备.
     * 
     * @return 可用:true、不可用:false
     */
    public final boolean isUseRoyal() {
        return this.isUseRoyal;
    }

    /**
     * 设置增加ＣＨＡ.
     * 
     * @param i
     *            增加的ＣＨＡ
     */
    public final void setAddCha(final byte i) {
        this.addCha = i;
    }

    /**
     * 设置增加ＣＯＮ.
     * 
     * @param i
     *            增加的ＣＯＮ
     */
    public final void setAddCon(final byte i) {
        this.addCon = i;
    }

    /**
     * 设置增加ＤＥＸ.
     * 
     * @param i
     *            增加的ＤＥＸ
     */
    public final void setAddDex(final byte i) {
        this.addDex = i;
    }

    /**
     * 设置增加ＨＰ.
     * 
     * @param i
     *            增加的ＨＰ
     */
    public final void setAddHp(final int i) {
        this.addHp = i;
    }

    /**
     * 设置增加ＨＰＲ.
     * 
     * @param i
     *            增加的ＨＰＲ
     */
    public final void setAddHpr(final int i) {
        this.addHpr = i;
    }

    /**
     * 设置增加ＩＮＴ.
     * 
     * @param i
     *            增加的ＩＮＴ
     */
    public final void setAddInt(final byte i) {
        this.addInt = i;
    }

    /**
     * 设置增加ＭＰ.
     * 
     * @param i
     *            增加的ＭＰ
     */
    public final void setAddMp(final int i) {
        this.addMp = i;
    }

    /**
     * 设置增加ＭＰＲ.
     * 
     * @param i
     *            增加的ＭＰＲ
     */
    public final void setAddMpr(final int i) {
        this.addMpr = i;
    }

    /**
     * 设置增加ＳＰ.
     * 
     * @param i
     *            增加的ＳＰ
     */
    public final void setAddSp(final int i) {
        this.addSp = i;
    }

    /**
     * 设置增加ＳＴＲ.
     * 
     * @param i
     *            增加的ＳＴＲ
     */
    public final void setAddStr(final byte i) {
        this.addStr = i;
    }

    /**
     * 设置增加ＷＩＳ.
     * 
     * @param i
     *            增加的ＷＩＳ
     */
    public final void setAddWis(final byte i) {
        this.addWis = i;
    }

    /**
     * 设置属性(0:祝福 1:一般 2:诅咒).
     * 
     * @param i
     *            属性
     */
    public final void setBless(final int i) {
        this.bless = i;
    }

    /**
     * 设置是否删除.
     * 
     * @param flag
     *            true or false
     */
    public final void setCantDelete(final boolean flag) {
        this.isCantDelete = flag;
    }

    /**
     * 设置道具的 ClassName.
     * 
     * @param s
     *            类路径与名称
     */
    public final void setClassName(final String s) {
        this.className = s;
    }

    /**
     * 设置最高伤害.
     * 
     * @param i
     *            最高伤害
     */
    public final void setDmgLarge(final int i) {
        this.dmgLarge = i;
    }

    /**
     * 设置最低伤害.
     * 
     * @param i
     *            最低伤害
     */
    public final void setDmgSmall(final int i) {
        this.dmgSmall = i;
    }

    /**
     * 设置食品类道具饱食度.
     * 
     * @param i
     *            饱食度
     */
    public final void setFoodVolume(final int i) {
        this.foodVolume = i;
    }

    /**
     * 设置清单内的图形ＩＤ.
     * 
     * @param i
     *            图形ＩＤ
     */
    public final void setGfxId(final int i) {
        this.gfxId = i;
    }

    /**
     * 设置道具放到地面上的图形ＩＤ.
     * 
     * @param i
     *            地面上的图形ＩＤ
     */
    public final void setGroundGfxId(final int i) {
        this.groundGfxId = i;
    }

    /**
     * 设置是否具有加速效果.
     * 
     * @param flag
     *            true or false
     */
    public final void setHasteItem(final boolean flag) {
        this.isHasteItem = flag;
    }

    /**
     * 设置道具的名称ＩＤ(已鉴定).
     * 
     * @param s
     *            道具的名称ＩＤ
     */
    public final void setIdentifiedNameId(final String s) {
        this.identifiedNameId = s;
    }

    /**
     * 设置鉴定时显示的ItemDesc.tbl信息.
     * 
     * @param i
     *            (ItemDesc.tbl行数)
     */
    public final void setItemDescId(final int i) {
        this.itemDescId = i;
    }

    /**
     * 设置道具ＩＤ.
     * 
     * @param i
     *            道具ＩＤ
     */
    public final void setItemId(final int i) {
        this.itemId = i;
    }

    /**
     * 设置道具的材质.
     * 
     * @param i
     *            材质
     */
    public final void setMaterial(final int i) {
        this.material = i;
    }

    /**
     * 设置能使用装备的最高ＬＶ.
     * 
     * @param i
     *            最高ＬＶ
     */
    public final void setMaxLevel(final int i) {
        this.maxLevel = i;
    }

    /**
     * 设置物品可使用时间(能持有的时间).
     * 
     * @param i
     *            可使用时间
     */
    public final void setMaxUseTime(final int i) {
        this.maxUseTime = i;
    }

    /**
     * 设置抗魔(MR).
     * 
     * @param i
     *            抗魔(MR)
     */
    public final void setMdef(final int i) {
        this.mdef = i;
    }

    /**
     * 设置能使用装备的最低ＬＶ.
     * 
     * @param i
     *            最低ＬＶ
     */
    public final void setMinLevel(final int i) {
        this.minLevel = i;
    }

    /**
     * 设置道具名称.
     * 
     * @param s
     *            道具名称
     */
    public final void setName(final String s) {
        this.name = s;
    }

    /**
     * 设置道具名称ID.
     * 
     * @param s
     *            道具名称ID.
     */
    public final void setNameId(final String s) {
        this.nameId = s;
    }

    /**
     * 设置变身编号:装备武器.
     * 
     * @param i
     *            - 变身编号
     */
    public void setPolyIdByWeapon(final int i) {
        this.polyIdByWeapon = i;
    }

    /**
     * 设置安定值.
     * 
     * @param i
     *            安定值
     */
    public final void setSafeenchant(final int i) {
        this.safeEnchant = i;
    }

    /**
     * 设置是否将道具的数量变化写入数据库.
     * 
     * @param flag
     *            true or false
     */
    public final void setToBeSavedAtOnce(final boolean flag) {
        this.saveAtOnce = flag;
    }

    /**
     * 设置能否交易.
     * 
     * @param flag
     *            true or false
     */
    public final void setTradable(final boolean flag) {
        this.isTradable = flag;
    }

    /**
     * 设置道具种类.
     * 
     * @param i
     *            种类
     */
    public final void setType(final int i) {
        this.type = i;
    }

    /**
     * 设置道具类型1 (武器).
     * 
     * @param i
     *            武器
     */
    public final void setType1(final int i) {
        this.type1 = i;
    }

    /**
     * 设置道具类型2.
     * 
     * @param i
     *            0 if L1EtcItem, 1 if L1Weapon, 2 if L1Armor
     */
    public final void setType2(final int i) {
        this.type2 = i;
    }

    /**
     * 设置未鉴定道具的名称ＩＤ.
     * 
     * @param s
     *            道具的名称ＩＤ
     */
    public final void setUnidentifiedNameId(final String s) {
        this.unidentifiedNameId = s;
    }

    /**
     * 设置是否黑暗妖精可用装备.
     * 
     * @param flag
     *            true or false
     */
    public final void setUseDarkelf(final boolean flag) {
        this.isUseDarkelf = flag;
    }

    /**
     * 设置是否龙骑士可用装备.
     * 
     * @param flag
     *            true or false
     */
    public final void setUseDragonknight(final boolean flag) {
        this.isUseDragonknight = flag;
    }

    /**
     * 设置是否精灵可用装备.
     * 
     * @param flag
     *            true or false
     */
    public final void setUseElf(final boolean flag) {
        this.isUseElf = flag;
    }

    /**
     * 设置是否幻术师可用装备.
     * 
     * @param flag
     *            true or false
     */
    public final void setUseIllusionist(final boolean flag) {
        this.isUseIllusionist = flag;
    }

    /**
     * 设置是否骑士可用装备.
     * 
     * @param flag
     *            true or false
     */
    public final void setUseKnight(final boolean flag) {
        this.isUseKnight = flag;
    }

    /**
     * 设置是否法师可用装备.
     * 
     * @param flag
     *            true or false
     */
    public final void setUseMage(final boolean flag) {
        this.isUseMage = flag;
    }

    /**
     * 设置是否王族可用装备.
     * 
     * @param flag
     *            true or false
     */
    public final void setUseRoyal(final boolean flag) {
        this.isUseRoyal = flag;
    }

    /**
     * 设置物品使用类型.
     * 
     * @param i
     *            使用类型
     */
    public final void setUseType(final int i) {
        this.useType = i;
    }

    /**
     * 设置重量.
     * 
     * @param i
     *            重量
     */
    public final void setWeight(final int i) {
        this.weight = i;
    }
}
